Function Calling
让 LLM 输出结构化 JSON 调用预定义函数 / API,是 LLM 与外部世界交互的底层机制,AI Agent 的核心能力之一。
定义
Function Calling 是 LLM API 提供的一项能力:开发者把函数签名(函数名、参数、类型)作为 schema 传给模型,模型在判断需要调用时返回结构化 JSON(函数名 + 参数),由应用代码解析并执行函数,将结果再喂给模型继续推理。
技术细节
典型 Function Calling 流程:
- 开发者定义 functions schema(JSON Schema 格式)
- 用户问题 + functions schema 一起发给 LLM
- LLM 判断 → 直接回复 OR 输出
{"name": "get_weather", "arguments": {"city": "Beijing"}} - 应用代码执行
get_weather("Beijing")→ 拿到结果 - 把结果作为 tool message 喂给 LLM 继续推理
- LLM 综合工具结果生成最终回复
主要玩家
- OpenAI — 2023-06 首发 Function Calling API(GPT-3.5/4)
- Anthropic — Tool Use API(含 Computer Use 子能力)
- Google — Gemini Function Calling
- 开源模型 — LLaMA / Qwen / DeepSeek 等通过微调获得能力
在 AI 产业链中的角色
Function Calling 是 AI Agent 的底层能力——没有 Function Calling,Agent 无法调用工具,只能停留在文本生成。所有主流 Agent 框架(LangChain / CrewAI / AutoGen 等)都基于此构建。
演进历史
- 2023-06 OpenAI 首发 Function Calling API
- 2024 主流模型厂跟进,Tool Use 成为标配
- 2024-10 Anthropic 推出 Computer Use,Function Calling 扩展到 GUI 操控
- 2025 Parallel Function Calling、Streaming Function Calling 等增强
相关概念
∈ belongs_to::4-03-模型生态与工具链